package cn.actoncode.boot.module.ai.dal.redis;


/**
 * speech Redis Key 枚举类
 *
 * @author bin
 */
public interface RedisKeyConstants {

    /**
     * 登录用户的缓存
     * <p>
     * KEY 格式：login_user:{userId}
     * VALUE 数据格式：LoginUser 用户
     */
    String LOGIN_USER_CODE = "login_user:%s";

    /**
     * 微信公众号二维码登录用户的缓存
     * <p>
     * KEY 格式：login_mp_qr_code:{ticket}
     * VALUE 数据格式：AppLoginRespVO 登录信息
     */
    String LOGIN_MP_QR_CODE = "login_mp_qr_code:%s";

    /**
     * 登录的通信key的缓存
     * <p>
     * KEY 格式：login_sk:{sk}
     * VALUE 数据格式：String sk
     */
    String LOGIN_SK = "login_sk:%s";

    /**
     * 唯一编号的缓存
     * <p>
     * KEY 格式：unique_no:{date}
     * VALUE 数据格式：Long 唯一编号
     */
    String UNIQUE_NO = "unique_no:%s";

    /**
     * 已使用伪原创字数的缓存
     * <p>
     * KEY 格式：text_rewrite_used_word_num:{date}:{userId}
     * VALUE 数据格式：Integer 字数
     */
    String TEXT_REWRITE_USED_WORD_NUM = "text_rewrite_used_word_num:%s:%s";

    /**
     * 伪原创邀请次数的缓存
     * <p>
     * KEY 格式：text_rewrite_invite_num:{date}:{userId}
     * VALUE 数据格式：Integer 次数
     */
    String TEXT_REWRITE_INVITE_NUM = "text_rewrite_invite_num:%s:%s";

    /**
     * AI对话消息的缓存
     * <p>
     * KEY 格式：ai_talk_message:{userId}
     * VALUE 数据格式：TalkMessageRedisDTO 对话消息
     */
    String AI_TALK_MESSAGE = "ai_talk_message:%s";

    /**
     * AI写作热门模板的缓存
     * <p>
     * KEY 格式：ai_write_hot_template
     * VALUE 数据格式：AppWriteTemplateRespVO AI写作模板
     */
    String AI_WRITE_HOT_TEMPLATE = "ai_write_hot_template";

    /**
     * AI写作热门顾问模板的缓存
     * <p>
     * KEY 格式：ai_write_hot_adviser_template
     * VALUE 数据格式：AppWriteTemplateRespVO AI写作模板
     */
    String AI_WRITE_HOT_ADVISER_TEMPLATE = "ai_write_hot_adviser_template";

    /**
     * AI写作热门文本功能模板的缓存
     * <p>
     * KEY 格式：ai_write_hot_text_func_template
     * VALUE 数据格式：AppWriteTemplateRespVO AI写作模板
     */
    String AI_WRITE_HOT_TEXT_FUNC_TEMPLATE = "ai_write_hot_text_func_template";

    /**
     * nlp 用户sk的缓存
     * <p>
     * KEY 格式：nlp_sk:{userId}
     * VALUE 数据格式：Long sk
     */
    String NLP_SK = "nlp_sk:%s";

    /**
     * nlp sk的缓存
     * <p>
     * KEY 格式：nlp_user_sk:{userId}
     * VALUE 数据格式：Long sk
     */
    String NLP_USER_SK = "nlp_user_sk:%s";

    /**
     * AI应用热门的缓存
     * <p>
     * KEY 格式：ai_app_hot
     * VALUE 数据格式：AppCompositeRespVO AI应用
     */
    String AI_APP_HOT = "ai_app_hot";

    /**
     * AI绘画热门模板的缓存
     * <p>
     * KEY 格式：ai_draw_temp_hot
     * VALUE 数据格式：AppDrawCompTemplateRespVO AI绘画模板
     */
    String AI_DRAW_TEMPLATE_HOT = "ai_draw_temp_hot";

    /**
     * AI换脸热门模板的缓存
     * <p>
     * KEY 格式：ai_face_swap_hot
     * VALUE 数据格式：AppFaceSwapTemplateRespVO AI换脸模板
     */
    String AI_FACE_SWAP_HOT = "ai_face_swap_hot";

}
